home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / qbtools1.arc / AERELREC.BAS < prev    next >
BASIC Source File  |  1987-01-11  |  1KB  |  44 lines

  1. rem $linesize:132
  2. rem $title:'Application Engineer Standard Routines'
  3. rem $subtitle:'Release / Add a record to the UNUSED list.'
  4. '                Include the COMMON values
  5. rem $include:'AESHARED.BAS'            
  6.     
  7. sub Release.Avail.Record(fl%,rlen%,rec%) static
  8.  
  9.         r%=rlen%-8%                      '  Rest of the record
  10.  
  11.         field #fl%,1 as stat$,2 as n.av$,2 as l.av$,1 as mj$,1 as mn$,1 as bug.fix$
  12.         field #fl%,8 as dummy$,r% as filler$
  13.  
  14. '  stat$    =  Status (1 = Open / 2 = Closed)
  15. '  n.av$    =  Next available record
  16. '  l.av$    =  Last available record
  17. '  mj$      =  Application Engineer Major release version
  18. '  mn$      =  Application Engineer Minor release version
  19. '  bug.fix$ =  Bug fix code within Minor release
  20.  
  21.         get #fl%,1%
  22.  
  23.         if mj$<>chr$(0%) or _
  24.             mn$<>chr$(0%) or _
  25.             bug.fix$<>"B" _
  26.         then
  27.             call ae.error("RAR Version mismatch error. Action 01")
  28.         end if
  29.  
  30.         nav%=cvi(n.av$)
  31.         lav%=cvi(l.av$)
  32.  
  33.         field #fl%,2 as pt$,r%+6% as filler$
  34.  
  35.         get #fl%,rec%                    '  Get the record to release
  36.         lset pt$=mki$(nav%)              '  Set the pointer to old next avail
  37.         put #fl%,rec%                    '  Write that record back
  38.  
  39.         get #fl%,1%                      '  Read the header in again
  40.         lset n.av$=mki$(rec%)            '  Set the next available record
  41.         put #fl%,1%                      '  Write the header back
  42.  
  43.     end sub
  44.